From b06c30bb51ab8712efc89290bfe217d151fe9821 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Mon, 21 Jul 2008 12:27:30 +0000 Subject: [PATCH] use the simpler g_signal_override_class_handler() instead of 2008-07-21 Michael Natterer * gtk/gtktoolbar.c (gtk_toolbar_class_init): use the simpler g_signal_override_class_handler() instead of g_signal_override_class_closure(). * gtk/gtktextview.c (gtk_text_view_class_init): ditto. (gtk_text_view_compat_move_focus): chain up using g_signal_chain_from_overridden_handler() instead of the generic g_signal_chain_from_overridden() which needs manual fiddling with millions of GValues. svn path=/trunk/; revision=20880 --- ChangeLog | 13 +++++++++++++ gtk/gtktextview.c | 26 ++++++-------------------- gtk/gtktoolbar.c | 8 +++----- 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/ChangeLog b/ChangeLog index a6a50df136..57b20ed613 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2008-07-21 Michael Natterer + + * gtk/gtktoolbar.c (gtk_toolbar_class_init): use the simpler + g_signal_override_class_handler() instead of + g_signal_override_class_closure(). + + * gtk/gtktextview.c (gtk_text_view_class_init): ditto. + + (gtk_text_view_compat_move_focus): chain up using + g_signal_chain_from_overridden_handler() instead of the generic + g_signal_chain_from_overridden() which needs manual fiddling with + millions of GValues. + 2008-07-21 Michael Natterer * gtk/gtkuimanager.c: remove redundant include. diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 5a2b689166..94dd91e61f 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -492,14 +492,12 @@ gtk_text_view_class_init (GtkTextViewClass *klass) widget_class->expose_event = gtk_text_view_expose_event; widget_class->focus = gtk_text_view_focus; - /* need to override the base class function via override_class_closure, + /* need to override the base class function via override_class_handler, * because the signal slot is not available in GtkWidgetCLass */ - g_signal_override_class_closure (g_signal_lookup ("move-focus", - GTK_TYPE_WIDGET), + g_signal_override_class_handler ("move-focus", GTK_TYPE_TEXT_VIEW, - g_cclosure_new (G_CALLBACK (gtk_text_view_move_focus), - NULL, NULL)); + G_CALLBACK (gtk_text_view_move_focus)); widget_class->drag_begin = gtk_text_view_drag_begin; widget_class->drag_end = gtk_text_view_drag_end; @@ -5756,22 +5754,10 @@ gtk_text_view_compat_move_focus (GtkTextView *text_view, { /* if this is a signal emission, chain up */ - GValue instance_and_params[2] = { { 0, }, { 0, } }; - GValue return_value = { 0, }; - - g_value_init (&instance_and_params[0], GTK_TYPE_WIDGET); - g_value_set_object (&instance_and_params[0], text_view); - - g_value_init (&instance_and_params[1], GTK_TYPE_DIRECTION_TYPE); - g_value_set_enum (&instance_and_params[1], direction_type); - - g_value_init (&return_value, G_TYPE_BOOLEAN); - - g_signal_chain_from_overridden (instance_and_params, &return_value); + gboolean retval; - g_value_unset (&instance_and_params[0]); - g_value_unset (&instance_and_params[1]); - g_value_unset (&return_value); + g_signal_chain_from_overridden_handler (text_view, + direction_type, &retval); } else { diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index e2445c04e6..6a0a492632 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -378,14 +378,12 @@ gtk_toolbar_class_init (GtkToolbarClass *klass) widget_class->style_set = gtk_toolbar_style_set; widget_class->focus = gtk_toolbar_focus; - /* need to override the base class function via override_class_closure, + /* need to override the base class function via override_class_handler, * because the signal slot is not available in GtkWidgetClass */ - g_signal_override_class_closure (g_signal_lookup ("move_focus", - GTK_TYPE_WIDGET), + g_signal_override_class_handler ("move-focus", GTK_TYPE_TOOLBAR, - g_cclosure_new (G_CALLBACK (gtk_toolbar_move_focus), - NULL, NULL)); + G_CALLBACK (gtk_toolbar_move_focus)); widget_class->screen_changed = gtk_toolbar_screen_changed; widget_class->realize = gtk_toolbar_realize; -- 2.30.2